package com.zkthink.ceres.pay.wechat.v3.entity.request.subsidies;

import com.alibaba.fastjson.annotation.JSONField;
import com.zkthink.ceres.pay.wechat.v3.entity.request.BasePayRequest;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * <p>
 * 合单关闭单
 * * 参考文档：https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_3.shtml
 *
 * @author vivi.huang
 * @since 2020/5/17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ReturnSubsidiesRequest extends BasePayRequest {

    private static final long serialVersionUID = -8100791351891543014L;

    /**
     * 二级商户号	sub_mchid	string(32)	是	query补差的电商平台二级商户，填写微信支付分配的商户号。
     * 示例值：1900000109
     */
    @JSONField(name = "sub_mchid")
    private String subMchid;

    /**
     * 微信订单号	transaction_id	string(64)	是	query微信支付订单号。
     * 示例值： 4208450740201411110007820472
     */
    @JSONField(name = "transaction_id")
    private String transactionId;

    /**
     * 商户补差回退单号	out_order_no	string(64)	是	query商户系统内部的补差回退单号，在商户系统内部唯一，只能是数字、大小写字母_-|*@ ，同一补差回退单号多次请求等同一次。
     * 示例值：P20150806125346
     */
    @JSONField(name = "out_order_no")
    private String outOrderNo;


    /**
     * 补差描述	description	string(80)	是	query补差备注描述，查询的时候原样带回。
     * 示例值：测试备注
     */
    @JSONField(name = "description")
    private String description;

    /**
     * 微信退款单号	refund_id	string(64)	否	query微信退款单号，微信系统退款返回的唯一标识，当补差金额小于下单时候的金额必选带上微信退款单号。
     * 示例值：3008450740201411110007820472
     */
    @JSONField(name = "refund_id")
    private String refundId;


    @Override
    public String getUrl() {
        return null;
    }

    @Override
    public int getReadTimeoutMs() {
        return 0;
    }

    @Override
    public int getConnectTimeoutMs() {
        return 0;
    }

    @Override
    public String getRequestData() {
        return null;
    }
}